var basic = "http://test.cn/";

// 获取用户信息
var nav_right = new Vue({
    el: ".nav-right",
    data: {
        user_name:'',
        user_account:''
    },
    created: function() {
        $.ajax({
            url: "http://test.cn/user/getUserInfo",
            type: "GET",
            success: function(e) {
                nav_right.user_account=e.data[0].account;
                nav_right.user_name=e.data[0].name;
            }
        })
    }
})
// 功能页面组件
var func = new Vue({
    el: ".func",
    data: {

    },
    mounted:function(){
        this.click_grazl();
    },
    methods: {
        click_grazl: function() {
            // 自己显示，并添加属性
            $(".page-one").addClass("block");
            $(".grzl").addClass("focus-grzl");
            // 另外两个内容消失
            $(".page-tow").removeClass("block");
            $(".page-tree").removeClass("block");
            // 另外两个样式消失
            $(".article").removeClass("focus-article");
            $(".cgmg").removeClass("focus-cgmg");

        },
        click_article: function() {
            // 自己显示，并添加属性
            $(".page-tow").addClass("block");
            $(".article").addClass("focus-article");
            // 另外两个内容消失
            $(".page-one").removeClass("block");
            $(".page-tree").removeClass("block");
            // 另外两个样式消失
            $(".grzl").removeClass("focus-grzl");
            $(".cgmg").removeClass("focus-cgmg");

        },
        click_cgmg: function() {
            // 另外两个内容消失
            $(".page-one").removeClass("block");
            $(".page-tow").removeClass("block");
            // 另外两个样式消失
            $(".grzl").removeClass("focus-grzl");
            $(".article").removeClass("focus-article");
            // 自己显示，并添加属性
            $(".page-tree").addClass("block");
            $(".cgmg").addClass("focus-cgmg");
        }
    }
})

// page_one组件
var page_one = new Vue({
    el: ".page-one",
    data: {
        user_info: '',
        new_name: ''
    },
    created: function() {
        $.ajax({
            url: basic + "user/getUserInfo",
            type: "GET",
            success: function(e) {
                page_one.user_info = e.data[0];
            }
        })
    },
    methods: {
        change_name_btn: function() {
            $(".chage-name").addClass("block");
        },
        get_name: function(event) {
            let new_name = event.target.value;
            page_one.new_name = new_name;
        },
        sure_btn: function() {
            if (this.new_name != '') {
                $.ajax({
                    url: basic + "user/updateUsername",
                    type: "POST",
                    data: {
                        new_name:page_one.new.new_name
                    },
                    success: function(e) {
                        console.log(e)
                    }
                })
            } else {
                console.log("请填写姓名")
            }

        },
        detele_btn: function() {
            $(".chage-name").removeClass("block");
        }
    }
})

//page-tow组件
var page_tow = new Vue({
    el: ".page-tow",
    data: {
        list_data: '', //列表数据
        checking_num: '', //审核中的数目
        none_pass_num: '', //未通过数目
        draft_num: "", //草稿箱数目
        total_article: '', //全部文章数
        per_page: '', //总页面数
        current_page: '', //当前页面
        first_page_url: '', //首页
        last_page_url: '', //尾页
        prev_page_url: '', //前一页
        next_page_url: '', //后一页
        init_page: '', //最前一页
        path: '' //跳转页面
    },
    mounted: function() {
        // 获取文章总数
        this._get_article_num("post/getAllArticleCount");
        // 获取审核中文章数
        this._get_top_num("post/getStatusArticleCount", 1);
        // 获取未通过文章数
        this._get_top_num("post/getStatusArticleCount", 2);
        // 获取草稿箱数目
        this._get_top_num("post/getStatusArticleCount", 3);
        // 获取数据列表
        this._get_data_list("post/getAllArticle");
    },
    methods: {
        // 获取文章总数
        _get_article_num: function(url) {
            $.ajax({
                url: basic + url,
                success: function(e) {
                    page_tow.total_article = e.data;
                }
            })
        },
        // 获取数据列表
        _get_data_list: function(url) {
            $.ajax({
                url: basic + url,
                success: function(e) {
                    page_tow.list_data = e.data.data;
                    page_tow.current_page = e.data.current_page;
                    page_tow.per_page = e.data.per_page;
                    page_tow.next_page_url = e.data.next_page_url;
                    page_tow.prev_page_url = e.data.prev_page_url;
                    page_tow.last_page_url = e.data.last_page_url;
                    page_tow.first_page_url = e.data.first_page_url;
                    page_tow.path = e.data.path;
                }
            })
        },
        // 获取审核栏，草稿箱等数目
        _get_top_num: function(url, status) {
            $.ajax({
                url: basic + url,
                data: {
                    status: status
                },
                success: function(e) {
                    switch (status) {
                        case 1:
                            page_tow.checking_num = e.data;
                            break;
                        case 2:
                            page_tow.none_pass_num = e.data;
                            break;
                        case 3:
                            page_tow.draft_num = e.data;
                            break;
                    }

                }
            })
        },
        // 获取不同状态下的文章
        _get_status_article: function(url, status) {
            $.ajax({
                url: basic + url,
                type: "GET",
                data: {
                    status: status
                },
                success: function(e) {
                    console.log(e)
                    // 修改样式
                    $(".total").removeClass("under-line");
                    page_tow.modify_box(status);
                    // 更新数据
                    page_tow.update_list_data(e.data);
                    page_tow._recovery_next_btn();
                    page_tow._recovery_prev_btn();
                }
            })
        },
        // 更新数据
        update_list_data: function(new_data) {
            // 更新列表数据
            page_tow.list_data = new_data.data;
            // 更新前一页
            page_tow.prev_page_url = new_data.prev_page_url;
            // 更新当前页
            page_tow.current_page = new_data.current_page;
            //更新后一页
            page_tow.next_page_url = new_data.next_page_url;
            // 更新首页
            page_tow.last_page_url = new_data.last_page_url;
        },
        // 修改box-shadow样式功能
        modify_box: function(status) {
            switch (status) {
                case 0:
                    $(".total").addClass("under-line");
                    $(".checking").removeClass("under-line");
                    $(".none-pass").removeClass("under-line");
                    $(".draft-box").removeClass("under-line");
                    break;   
                case 1:
                    $(".checking").addClass("under-line");
                    $(".total").removeClass("under-line");
                    $(".none-pass").removeClass("under-line");
                    $(".draft-box").removeClass("under-line");
                    break;
                case 2:
                    $(".none-pass").addClass("under-line");
                    $(".total").removeClass("under-line");
                    $(".checking").removeClass("under-line");
                    $(".draft-box").removeClass("under-line");
                    break;
                case 3:
                    $(".draft-box").addClass("under-line");
                    $(".total").removeClass("under-line");
                    $(".checking").removeClass("under-line");
                    $(".none-pass").removeClass("under-line");
                    break;
            }
        },     
        // 点击全部按钮
        f_total: function(event) {
            this._get_status_article("post/getAllArticle", 0);
        },
        // 点击审核中按钮
        f_checking: function(event) {
            this._get_status_article("post/getStatusArticle", 1);
        },
        // 点击未通过按钮
        f_none_pass: function(event) {
            this._get_status_article("post/getStatusArticle", 2);
        },
        // 点击草稿箱按钮
        f_draft_box: function(event) {
            this._get_status_article("post/getStatusArticle", 3);
        },
        // 切换审核状态
        check_status: function(status) {
            if (status == 0) {
                return "通过"
            }
            if (status == 1) {
                return "待审核"
            }
            if (status == 2) {
                return "未通过"
            }
            if (status == 3) {
                return "草稿"
            }
        },
        // 处理时间格式函数
        slice: function(info) {
            let time = info.slice(0, 10);
            return time;
        },       
        // 分页功能
        init: function(e) {
            if (this.current_page != 1 && this.current_page != "") {
                $.ajax({
                    url: this.first_page_url,
                    success: function(e) {
                        console.log(e)
                        // 更新数据
                        page_tow._update_data(e.data);
                    }
                })
            } else {
                console.log("已是首页")
            }
        },
        pre: function(e) {
            // 判断上一页是否存在
            if (this.prev_page_url != null) {
                // 如果从最后一页往前跳，恢复下一页样式
                if (this.current_page == this.per_page) {
                    this._recovery_next_btn();
                };
                $.ajax({
                    url: this.prev_page_url,
                    success: function(e) {
                        // 判断是否请求成功
                        if (e.code == 200) {
                            // 更新list的数据
                            page_tow._update_data(e.data);
                        } else {
                            console.log("请求失败哟~")
                        }
                    }
                })
            } else {
                console.log("已是首页");
                e.target.style.color = "gray";
                e.target.disabled = "disabled";
            }
        },
        // 后一页
        next: function(e) {
            // 判断下一页是否存在
            if (this.next_page_url != null) {
                // 判断前一页是否为空
                if (this.prev_page_url == null) {
                    // 恢复前一页样式
                    this._recovery_prev_btn();
                }
                $.ajax({
                    url: this.next_page_url,
                    success: function(e) {
                        // 判断是否请求成功
                        if (e.code == 200) {
                            // 更新list的数据
                            page_tow._update_data(e.data);
                        } else {
                            console.log("请求失败哟~")
                        }
                    }
                })
            } else {
                console.log("已是尾页");
                e.target.style.color = "gray";
                e.target.disabled = "disabled";
            }
        },
        // 末页
        end: function(e) {
            if (this.current_page != this.per_page) {
                // 下一页不可用
                this._ban_next_btn();

                $.ajax({
                    url: this.last_page_url,
                    success: function(e) {
                        // 更新数据
                        page_tow.update_list_data(e.data);
                    }
                })
            } else {
                console.log("已是尾页")
            }
        },
        // 跳转页
        jump: function(e) {
            let junm_num = $("#jump-btn").val();
            if (junm_num > 0 && junm_num < this.per_page + 1 && junm_num != this.current_page) {
                $.ajax({
                    url: this.path + "?page=" + junm_num,
                    success: function(e) {
                        // 更新list的数据
                        page_tow._update_data(e.data);
                    }
                })
            } else {
                console.log("输入的页数有误");
            }
        },
        // 下一页不可用
        _ban_next_btn: function() {
            let next_btn = $(".next-btn")[0];
            next_btn.style.color = "gray";
            next_btn.disabled = "disabled";
        },
        // 下一页不可用恢复
        _recovery_next_btn: function() {
            let next_btn = $(".next-btn")[0];
            next_btn.style.color = "white";
            next_btn.disabled = false;
        },
        // 前一页不可用恢复
        _recovery_prev_btn: function() {
            let prev_btn = $(".pre-btn")[0];
            prev_btn.style.color = "white";
            prev_btn.disabled = false;
        },
        change:function(id){
            let article_id = id;
            window.open("http://test.cn/creat-page?article_id=" + article_id,"target");
        }
    }
})

// page_tree组件
var page_tree = new Vue({
    el: ".page-tree",
    data: {
        origmm: '',
        newmm: ""
    },
    methods: {
        orig_mm: function(event) {
            page_tree.origmm = event.target.value;
        },
        new_mm: function(event) {
            page_tree.newmm = event.target.value;
        },
        p3_sure: function() {
            if (this.origmm == this.newmm && this.origmm != '' && this.newmm != null) {
                $.ajax({
                    url: basic + "user/modifyPassword",
                    type: "POST",
                    data: {
                        oldpassword: this.origmm,
                        newpassword: this.newmm
                    },
                    success: function(e) {
                        console.log(e)
                    }
                })
            } else {
                console.log("原始密码不正确")
            }
        },
        p3_delete: function() {
            $(".page-tree").removeClass("block");
        }
    }
})

// 搜索功能
var nav_form = new Vue({
    el: ".nav-form",
    methods: {
        bigsearch: function() {
            let content = $(".nav-form input").val().trim();
            if (content != '') {
                $.ajax({
                    type: 'get',
                    url: "http://test.cn/post/search",
                    data: {
                        keyword: content
                    },
                    success: function(data) {
                        if (data.code == 200) {
                            if (data.data == "对不起，没有相关文章") {
                                alert("对不起，没有相关文章！")
                                return 0;
                            } else {
                                window.open("http://test.cn/search-page?content=" + content, "target")
                            }

                        } else {
                            alert('无相关类型文章！');
                        }
                    }
                });
            } else {
                alert("请输入内容")
            }
        },
        keydown:function(event){
            if(event.keyCode == 13){
                this.bigsearch();
            }
        }
    }
})